iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0
生成式 AI

AI 藥師助手:打造人人都看得懂的藥品查詢系統系列 第 12

Day 12 – 文字翻譯 + 關鍵字搜尋:讓藥品資訊更聰明

  • 分享至 

  • xImage
  •  

前言

昨天我檢驗了 AI 的白話翻譯效果,發現它確實能讓專業藥品資訊更容易理解,但也有資訊過度簡化的問題。
今天我想更進一步,讓專案具備兩個新功能:

1.文字翻譯功能 → 把藥品資訊翻成英文、日文等多國語言。

2.關鍵字搜尋功能 → 讓使用者輸入藥名或症狀,就能快速找到需要的藥品。

這樣不僅能幫助中文使用者,也能照顧到外國朋友,讓藥品資訊看得懂也能找的到找得到。

功能一:文字翻譯 – 把藥品資訊跨語言化

測試資料,延續普拿疼(Acetaminophen)的白話版本:

  • 成分:一顆藥裡有 500 毫克的止痛成分

  • 用途:常見的止痛藥,頭痛、牙痛或經痛都能用

  • 副作用:有時會想吐或長疹子,如果吃太多會傷肝

  • 小提醒:喝酒時不要吃,長期吃很多會出問題

Python 實作

import openai

prompt = """
請將以下藥品資訊翻譯成英文與日文:
成分:一顆藥裡有 500 毫克的止痛成分
用途:常見的止痛藥,頭痛、牙痛或經痛都能用
副作用:有時會想吐或長疹子,如果吃太多會傷肝
小提醒:喝酒時不要吃,長期吃很多會出問題
"""

response = openai.ChatCompletion.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": prompt}]
)

print(response["choices"][0]["message"]["content"])

翻譯結果

英文版:

  • ngredient: Each tablet contains 500 mg of pain-relieving substance.
  • Usage: A common painkiller for headaches, toothaches, or menstrual cramps.
  • Side effects: May cause nausea or rash; overdose can damage the liver.
  • Note: Do not take with alcohol, and avoid long-term excessive use.

日文版:

  • 成分:1錠に500mgの鎮痛成分が含まれています。
  • 用途:頭痛、歯痛、生理痛などによく使われる一般的な鎮痛薬です。
  • 副作用:吐き気や発疹が出ることがあり、過量に服用すると肝臓に害を及ぼす可能性があります。
  • 注意事項:アルコールと一緒に飲まないでください。長期大量使用は避けてください。

功能二:關鍵字搜尋 – 建立快速查詢工具

資料結構

我把 Day 9 爬取的藥品資料整理成 Python 字典:

drugs = [
    {
        "名稱": "普拿疼",
        "成分": "Acetaminophen 500mg",
        "用途": "緩解輕至中度疼痛,如頭痛、牙痛、經痛",
        "副作用": "肝功能異常、皮疹、噁心",
        "注意事項": "避免與酒精同時使用,避免長期大量服用"
    },
    {
        "名稱": "布洛芬",
        "成分": "Ibuprofen 200mg",
        "用途": "緩解發炎或疼痛,如肌肉痛、關節痛、牙痛",
        "副作用": "胃不適、頭暈、過敏反應",
        "注意事項": "飯後服用,避免與酒精同時使用"
    }
]

Python 搜尋功能

def search_drug(keyword):
    results = []
    for drug in drugs:
        if keyword.lower() in drug["名稱"].lower() or \
           keyword.lower() in drug["用途"].lower():
            results.append(drug)
    return results

#測試
keyword = input("請輸入關鍵字搜尋藥品:")
found = search_drug(keyword)

if found:
    for d in found:
        print(f"藥品名稱:{d['名稱']}")
        print(f"用途:{d['用途']}")
        print(f"副作用:{d['副作用']}")
        print(f"注意事項:{d['注意事項']}\n")
else:
    print("找不到符合的藥品。")

測試結果

  • 搜尋「頭痛」 → 找到 普拿疼

  • 搜尋「肌肉痛」 → 找到 布洛芬

使用者只要輸入一個症狀或藥名,就能快速找到相關藥品。

心得

今天的實作讓我體會到:

  • AI 翻譯 → 幫助突破語言隔閡。

  • 關鍵字搜尋 → 幫助快速定位資訊。

  • 兩者結合 → 讓智慧藥品助理更完整,解決資訊正確性資訊可用性的問題。

未來我會把這些功能包裝成一個小型的 API,讓專案能提供「查藥品 → 看白話翻譯 → 切換語言」的完整體驗。


上一篇
Day 11:AI 白話翻譯的檢驗:官方資料 vs AI 生成
系列文
AI 藥師助手:打造人人都看得懂的藥品查詢系統12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言